ReadMe.txt
DAT2MINI.C (C) Copyright Bill Buckels 2008.
All rights reserved.
Written by   : Bill Buckels
Email        : bbuckels@mts.net
Date Written : May 2008

Overview

Usage is: "Dat2Mini [old printshop.DAT]"
Output1:   Apple II Bsaved Images for use with ProDOS MiniPix.
Output2:   Individual Apple II Minipix Automatically Named.

All output is automatically named. The output directory will be created if
does not exist and will have the same base name as the .DAT file.

This program only accepts input files with the .DAT extension  which gives
some assurance that this may be an IBM old printshop library (which is
only a sequential file of 88 x 52 monochrome images).

If there is an accompanying old printshop name file (with the .NAM
extension) the individual minipix will be created as well. (These are used
by both the ProDOS and the DOS 3.3 version of Minipix and by the old
printshop program for the Apple II).

Note: Under ProDOS the following Types and Subtypes are required when placing
the output files for use with Beagle Bros. Minipix. Both are binary files:

BSaved Images - Type $06 SubType $2000
Minipix - Type $06 Subtype $5800

Program Description

This program is a Legacy Graphics Converter. It converts IBM format Old
PrintShop .DAT files to Apple II BSaved Images with a compatible layout
for the ProDOS version of the Beagle Bros Minipix program in a
subdirectory of the same basename as the .DAT file. The Apple II palette
used for these is the Orange Blue palette also used by Beagle Bros. for
Minipix. The automatic naming used for these is "SET.A, SET.B. etc" which
is the naming used by the Beagles. the ProDOS minipix never included
SET.J, SET.O, or SET.Z also SET.X and SET.Y contained only 6 minipix. the
others contained 9.

There were a total of 23 BSaved images distributed on Minipix Disks 1-3
containing a total of 23 x 9 - 6 = 201 minipix despite the fact that the
Beagle docs always said 200.

After 'Y' naming is done using SET.0 through SET.9. However technically an
IBM old printshop DAT file holds fewer minipix than the orginal minipix
program provided anyway due to the limitations of the IBM version 1 of
printshop which originated these, so it is unlikely that this will ever
happen in practice unless someone is using a DAT file created by some
other source.

The IBM format Old PrintShop .DAT file is paired with a .NAM file of pic
names, but may not always be present during conversion.

If both the .DAT and .NAM file are present during the conversion, Dat2Mini
also produces individual Minipix using the captions in the ,NAM file and
automatic naming. These are compatible with both the DOS 3.3 and ProDOS
versions of Minipix, and with other programs like the Old PrintShop for
the Apple II.

Dat2Mini was written with several purposes in mind and in fact the primary
purpose was to reconstruct ProDOS Minipix disks 2 and 3 from IBM DAT files
that I had converted in the early 1990's from the original Apple II BSaved
Images after porting these from the Apple II to the IBM-PC.

The original disks that I had were long ago lost. Recently however I was
fortunate in obtaining an Apple II Emulator DiskImage of Disk 1 in this
series which offered me a template for reconstruction of the other two
disks in the 3 disk series.

Building further on this approach, I realized that it would also be
possible to create additional MiniPix DiskImages from the many IBM Olde
PrintShop DAT files that I have accumulated over the years and now offer
with my ClipShop program.

So for what it's worth that's why I wrote this converter and I intend to
incorporate it into the ClipShop program in a minor release to my ClipShop
website if I haven't already done so by the time you read this. But only
after I finish recreating the Minipix disks that I originally set-out to
do.

That's quite enough on the matter. Try the program out yourself for more
Information and review the samples and the output.

The Apple ][ Minipix Format

When The Print Shop first appeared on The Apple ][, the only type of
graphics it used were small 4 sector DOS3.3 files, called minipix. Because
the range of them built into The Print Shop was limited, people drew
their own, using the print Shop Graphic Editor, and soon these little
88x52 pictures were everywhere. There were disks and disks, just packed
with them. The storage format was quite simple, basically just a bit
mapped image, with every 11 bytes of the file mapping to one line of 88
dots on the screen. An extra 4 filler bytes were tacked on the end of each
mini-graphic file. Each file held only 1 mini-graphic. 52 lines x 8 bytes
+ 4 = 576 bytes. Now when "The New Print Shop" came along, you could
convert these little graphics to the new format. It turns out that all
that was done to each graphic to convert it, was a small header was placed
at the start, and the 4 filler bytes were dropped from the end, and so 576
byte graphics became 605 byte "NPS" compatible graphics.

Programming Environment  

This program was produced using MSC (Microsoft C) and the Visual Studio
2005 Command Line with the Win32 SDK. The source code is included.

I have made abolutely no attempt to make this program compatible with any
C compiler outside the MSC environment stated above. In this environment
many of the functions are deprecated because they are insecure unless used
in a CRT application. My MAKEFILE should be reviewed as to how I build
this, and I should also note that the correct platform SDK has been used
for Windows XP to build this so as with anything, results may vary and you
are on your own when it comes to porting this to other OS's and compilers.

Having said that, it would be very simple for me to write an Aztec C
version of this that would run in ProDOS or even on a Commodore 64 or in
CPM/80 or CPM/86 and I might even be able to cook-up a Macintosh or an
Amiga version if was so inclined having already done all the major work in
writing this puppy in the first place, so I know that other folks that are
at least as smart as I am won't have much trouble porting this if they
want a version that runs on a different OS. 'Nuff said.

Licence Agreement

All my work is copyrighted and belongs to me. This program is not derived
from anything by anyone and is my own work in its entirety.

I herewith grant you a non-exclusive and conditional licence to use this
source code and the output files it produces for whatever use you deem
fit, provided you do not take credit for my work, and that you leave my
copyright notices intact in all of it.

If you augment or otherwise use my work you must always also include your
own personal copyright notice but it may never be a GNU public licence or
anything else that resembles fascism or totalitarianism and world-
domination or a commercial or educational licence either. You can use my
stuff commercially or for GNU with my conditions intact if they let you
(they should since copyright is for authors and the public and I belong to
both groups) but you must never copyright my work with any company
copyright whatsoever; just your own personal copyright like mine and leave
mine in place. That is the way copyright is intended to work and that is
the way that it will work with my stuff unless I selectively decide
otherwise.

In addition you must agree that I am not liable in any way shape or form
for any damage from the use of any of this in any way whatsoever.

If you do not agree with all of the aforementioned conditions of use or if
your use is not Fair then remove all of this from your computer now.

Bill Buckels
bbuckels@mts.net
May 2008